Tutorial de Diagrama de Sequência UML | Passo a Passo para Desenvolver Aplicações Modernas
概要
TLDRO vídeo de Carlos Pizani ensina sobre diagramas de sequência, parte da notação UML, que são essenciais para modelar a interação entre os componentes de um sistema. Ele enumera as vantagens, como a clareza na visualização das interações e suporte na documentação das regras de negócio, e os contras, como a complexidade e o desafio de manutenção em diagramas grandes. O vídeo também detalha os elementos do diagrama, como atores, interfaces e conexões, mostrando um exemplo prático de um fluxo de login. Pizani conclui abordando como os diagramas se aplicam em arquiteturas modernas de software, como microsserviços.
収穫
- 📈 Os diagramas de sequência aumentam a clareza nas interações entre componentes.
- 🛠️ Eles facilitam a documentação e manutenção de sistemas.
- 📚 Ajuda na especificação de sistemas de forma visual.
- 🔄 Mensagens podem ser síncronas ou assíncronas no diagramas.
- 🧩 Importante para a modelagem de aplicações modernas.
- ☑️ Elementos principais incluem atores, controladores e entidades.
- ⚙️ Os diagramas se aplicam efetivamente em arquiteturas de microsserviços.
- 📊 Uma representação visual torna a compreensão mais acessível.
- ✨ O uso de diagramas estimula a colaboração em equipe.
- 🔍 Manutenção de diagramas complexos pode ser desafiadora.
タイムライン
- 00:00:00 - 00:05:00
O vídeo aborda a importância de diagramas de sequência, que são fundamentais para a modelagem de sistemas enunciando a sequência de interações entre componentes. Carlos Pizani apresenta o conteúdo, discutindo os objetivos de aprender a criar esses diagramas, reconhecendo a relevância no ambiente atual de TI, bem como a notação UML na qual eles se inserem.
- 00:05:00 - 00:10:00
Diagramas de sequência, parte da notação UML, auxiliam na visualização clara das interações entre componentes de um sistema, o que promove uma melhor manutenção e opção de colaboração em equipes. O vídeo discute como esses diagramas ajudam a representar regras de negócio e a melhorar a comunicação entre os membros da equipe, destacando a clareza que um modelo visual oferece sobre um texto denso e descritivo.
- 00:10:00 - 00:15:00
Carlos apresenta os prós e contras dos diagramas de sequência, destacando vantagens como clareza, suporte na especificação do sistema e ajudando na colaboração. Em contraposição, ele menciona a complexidade de representar casos de uso muito elaborados, a dificuldade de manutenção quando se trata de diagramas complexos e a limitação de não servirem bem para representações de alto nível.
- 00:15:00 - 00:20:00
O vídeo continua com uma demonstração no iPad, onde Carlos explica os elementos que compõem um diagrama de sequência, como timelines, atores, boundary, control, entidade, e object, além de explicar a função de cada um desses elementos na representação de interações num sistema.
- 00:20:00 - 00:28:33
Carlos conclui mostrando como os conectores funcionam em um diagrama de sequência, como mensagens síncronas e assíncronas, e detalha um fluxo de login simples para exemplificar essas interações em um diagrama mais moderno, refletindo as arquiteturas de microsserviços contemporâneas, culminando em um convite para engajamento com o conteúdo.
マインドマップ
ビデオQ&A
O que é um diagrama de sequência?
Um diagrama de sequência é uma representação visual que ilustra as interações entre diferentes componentes de um sistema ao longo do tempo.
Quais são os benefícios de usar diagramas de sequência?
Os principais benefícios incluem clareza nas interações, apoio à especificação de sistemas e facilitação da comunicação entre a equipe.
Quais são os desvantagens dos diagramas de sequência?
As desvantagens incluem complexidade na leitura e manutenção, especialmente em casos de uso complexos.
Como funciona a notação UML?
A notação UML (Unified Modeling Language) é uma linguagem padrão para especificar, visualizar, construir e documentar artefatos de sistemas de software.
Quais são os principais elementos de um diagrama de sequência?
Os principais elementos incluem timelines, atores, controladores, entidades, mensagens síncronas e assíncronas.
O que são mensagens síncronas e assíncronas?
Mensagens síncronas aguardam uma resposta imediata, enquanto mensagens assíncronas não esperam pela resposta antes de prosseguir.
Como os diagramas de sequência são aplicados em arquiteturas modernas?
Eles podem ser usados para representar fluxos de interação em arquiteturas de microsserviços e outras aplicações modernas.
ビデオをもっと見る
AUTOESTIMA SEGUNDO A BÍBLIA
Concurso EBSERH FGV 2025 | Principais temas em Políticas de Saúde com Natale Souza
iA Cientista Supreende e Tem Artigo Aprovado Em Congresso de Humanos | Sakana Ai Está de Volta
AULÃO DE SOCIOLOGIA PARA O ENEM: 5 temas mais cobrados | Aulão Enem | Fábio Luís Pereira
Linguística: A Ciência da Linguagem - LINGUÍSTICA
O que você quer ser quando crescer? Um documentário sobre o trabalho informal em Ouro Preto
- 00:00:00fala ar tudo 100% com você no conteúdo
- 00:00:03de hoje nós vamos falar sobre diagramas
- 00:00:05de sequência e você vai sair daqui
- 00:00:07aprendendo os pró os contras Por que que
- 00:00:09você precisa saber fazer um diagrama de
- 00:00:12sequência hoje em dia mais do que isso
- 00:00:14você vai aprender todos os conectores de
- 00:00:16um diagrama de sequência vai aprender
- 00:00:18também como fazer um diagrama de
- 00:00:20sequência naqueles modelos um pouquinho
- 00:00:22mais tradicionais que a gente aprende lá
- 00:00:23na faculdade e o modelo mais voltado
- 00:00:26pros projetos pras aplicações dos dias
- 00:00:29de hoje hoje Bacana Então bora pro
- 00:00:42conteúdo aqui caso você ainda não me
- 00:00:44conheça muito prazer eu me chamo Carlos
- 00:00:45pizani E este aqui é o seu canal de
- 00:00:48arquitetura de ti e caso você ainda não
- 00:00:49seja inscrito aqui no nosso canal fica o
- 00:00:52convite de você se inscrever por aqui
- 00:00:54porque eu lanço conteúdo como esses com
- 00:00:55uma grande frequência e você não pode
- 00:00:57ficar de fora bacana bem então vamos
- 00:01:00começar a falar sobre diagramas de
- 00:01:02sequência aqui um diagrama de sequência
- 00:01:04ele pertence à notação
- 00:01:07uml caso você não tenha visto o nosso
- 00:01:10conteúdo sobre o ML ou não saiba o que é
- 00:01:12o ML nós fizemos Ok um vídeo já desta
- 00:01:16série sobre diagramas da uml explicando
- 00:01:18um pouquinho mais sobre o que que é uma
- 00:01:20anotação tá bom fica o convite de você
- 00:01:22assistir depois desse conteúdo vou
- 00:01:24deixar o link tanto na descrição como
- 00:01:26aqui no no card deste vídeo tá bom para
- 00:01:29você assistir posteriormente a este
- 00:01:31vídeo e só para você ter clareza o ML é
- 00:01:34a anotação mais conhecida que existe ela
- 00:01:37é muito popular ela foi muito
- 00:01:38disseminada nos últimos 30 anos ensinada
- 00:01:42em todas as Universidades e é muito
- 00:01:44comum no dia a dia a gente ver ali
- 00:01:46diagramas da uml sendo utilizadas pra
- 00:01:49explicação de negócio pra explicação de
- 00:01:52como funciona uma aplicação e de cara é
- 00:01:55por isso que é importante você conhecer
- 00:01:56diagramas de sequência os diagramas de
- 00:01:59sequência eles servem fundamentalmente
- 00:02:01para E adivinha ilustrar
- 00:02:05sequências e o que que eu estou querendo
- 00:02:07dizer com
- 00:02:09isso ele ajuda na modelagem dos sistemas
- 00:02:12tá e identificando mostrando pro pro pro
- 00:02:16desenvolvedor ou para quem quer que
- 00:02:18venha fazer ali uma aplicação Qual que é
- 00:02:20a ordem Qual que é a sequência a
- 00:02:22passagem de bastão entre uma caixinha e
- 00:02:24outra tudo bem então era muito comum a
- 00:02:27gente representar um caso de uso né a
- 00:02:30gente tinha o desenho de um diagrama de
- 00:02:31caso de uso em cima do diagrama de caso
- 00:02:34de uso era feito ali por exemplo a
- 00:02:36sequência da passagem de bastão dentro
- 00:02:38do sistema entre as camadas do sistema
- 00:02:41até chegar por exemplo lá no banco de
- 00:02:44dados Então se tinha ali a visão do
- 00:02:46processamento todo acontecendo aonde que
- 00:02:49ficava cada regra de negócio né Em que
- 00:02:50parte e também se tinha ali uma visão
- 00:02:53Clara dos componentes que eram
- 00:02:55utilizados então se eu utilizava ali um
- 00:02:57banco de dados se eu utilizava um uma
- 00:02:59ferramenta por exemplo onde eu tinha ali
- 00:03:01persistência de arquivos um F server um
- 00:03:04FTP por exemplo né ou outro componente
- 00:03:07desse tipo tá então era muito comum se
- 00:03:10usar para isso e hoje em dia a gente tem
- 00:03:12mais complexidade mais caixinhas O que
- 00:03:15faz o diagrama de sequência em alto
- 00:03:17nível né Um pouquinho mais alto nível
- 00:03:19ser muito útil também e antes de irmos
- 00:03:22lá pro meu iPad onde nós vamos ver um
- 00:03:24diagrama de sequência entender todos os
- 00:03:26conectores entender como funcionava
- 00:03:28Antigamente os desenhos de diagrama de
- 00:03:30sequência e como funcionam hoje em dia
- 00:03:33vamos falar um pouquinho sobre os prós e
- 00:03:35os contras de você entender conhecer e
- 00:03:37trabalhar também com diagramas de
- 00:03:39sequência o primeiro ponto pro é que nós
- 00:03:42temos clareza de como vai funcionar a
- 00:03:45sequência das coisas a visualização da
- 00:03:47interação entre todos os componentes que
- 00:03:50é o grande propósito do diagrama de
- 00:03:52sequência então nós temos essa visão
- 00:03:54muito clara o que facilita e facilita
- 00:03:56muito depois no futuro em uma manutenção
- 00:03:58ou até mesmo no momento da construção
- 00:04:00para entender como vai funcionar a
- 00:04:02interação entre os objetos a segunda
- 00:04:05grande vantagem é que ele apoia e apoia
- 00:04:07demais na especificação de um sistema na
- 00:04:11modelagem de um sistema então quando o
- 00:04:13nosso analista de de sistemas ou
- 00:04:16analista ali de negócio representa o
- 00:04:19negócio em um diagrama de sequência fica
- 00:04:22muito mais claro para quem vai
- 00:04:23implementar como funciona a regra de
- 00:04:25negócio a sequência da regra de negócio
- 00:04:28acontecendo nos mais diversos
- 00:04:30componentes que nós temos dentro de um
- 00:04:32sistema e o terceiro grande ponto
- 00:04:34positivo é que um Diagrama como este
- 00:04:36ajuda na colaboração e na comunicação
- 00:04:39entre os integrantes de um time por
- 00:04:41exemplo isso porque fica bem claro né
- 00:04:43como a gente já falou toda a regra de
- 00:04:45negócio a sequência em que o negócio
- 00:04:47acontece e em uma visão gráfica tudo
- 00:04:49fica mais fácil quando a gente desenha
- 00:04:51né como já tem aquele velho editado né
- 00:04:54não está claro desenha e um desenho fica
- 00:04:57muito mais fácil e fica mais divertido o
- 00:04:58trabalho em beleza porque você consegue
- 00:05:01entender melhor fica mais suave ali a a
- 00:05:04o entendimento do software a
- 00:05:06documentação do software quando está
- 00:05:08tudo só escrito texto texto texto muitas
- 00:05:11vezes desencoraja as outras pessoas os
- 00:05:13desenvolvedores os colaboradores a ler e
- 00:05:15entender e um diagrama tudo fica mais
- 00:05:18intuitivo né o diagrama ele Convida os
- 00:05:21profissionais ali A interpretá-lo então
- 00:05:23por isso é uma grande vantagem trabalhar
- 00:05:26sempre com diagramas e o diagrama como
- 00:05:28esse que é super conhecido mais ainda e
- 00:05:30quais são os contrapontos de se
- 00:05:32trabalhar com um Diagrama como esse o
- 00:05:33primeiro deles é a complexidade Por que
- 00:05:36que a complexidade pizani embora o
- 00:05:38diagrama ele seja relativamente simples
- 00:05:40à medida que eu tenha um caso de uso ali
- 00:05:42complexo para ser representado vão
- 00:05:44ficando muitos elementos e acaba ficando
- 00:05:46até um pouquinho difícil de você ler se
- 00:05:49você não tiver ali impresso o seu
- 00:05:51diagrama em uma folha ali a zero por
- 00:05:54exemplo Tá eu já vi diagramas de
- 00:05:56sequência precisar ser impressos
- 00:05:58literalmente em uma folha a zero bem
- 00:06:00grande colocado ali numa parede para
- 00:06:02ficar claro era no caso um motor de
- 00:06:05regras e era muito complexo tinha muito
- 00:06:07interações e aí foi necessário colocar
- 00:06:10em um em um em uma folha né a zero
- 00:06:13colado em uma parede Então esse acaba
- 00:06:15sendo um grande problema desse tipo de
- 00:06:17diagrama porque você precisa ter uma
- 00:06:20visão do topo do diagrama para você
- 00:06:22conseguir entender o que tá está
- 00:06:24acontecendo lá embaixo muitas vezes lá
- 00:06:26nas últimas linhas dele lá no finalzinho
- 00:06:28dele tá bom ele é lido sempre da
- 00:06:30esquerda paraa direita e de cima para
- 00:06:32baixo então por isso eh e como ele tem
- 00:06:35trabalha com timelines a gente já vai
- 00:06:37ver isso também lá no meu iPad Acaba
- 00:06:39ficando um Pouquinho complicado mesmo a
- 00:06:41leitura Se você não conseguir dar um
- 00:06:43zoom ali toda hora ficar dando Zoom né
- 00:06:45para ver o começo e o final do diagrama
- 00:06:47Beleza o segundo ponto negativo é a
- 00:06:49manutenção um Diagrama como esse pode
- 00:06:51ficar muito complexo para ser mantido
- 00:06:54isso porque como nós falamos se ele
- 00:06:55tiver muitos elementos ali tiver muitas
- 00:06:58passagens de bastão então fica realmente
- 00:07:00complicado depois no futuro à medida que
- 00:07:03você evolui o seu sistema por exemplo
- 00:07:05alterar o seu diagrama de sequência
- 00:07:07alteração dele por si só já é um
- 00:07:09pouquinho complicada tá bom porque
- 00:07:11imagina que eu preciso colocar um passo
- 00:07:12ali no Meio do meu diagrama de sequência
- 00:07:14de um grande diagrama de sequência Poxa
- 00:07:16ter que puxar tudo para baixo colocar
- 00:07:19ali no meio fazer os links é complicado
- 00:07:22fazer manutenção em um diagrama simples
- 00:07:25não mas em um diagrama complexo grande é
- 00:07:27complicado e o terceiro ponto cont desse
- 00:07:29tipo de diagrama é que ele é muito bom
- 00:07:32para detalhar ali uma uma iteração
- 00:07:34específica a sequência de acontecimentos
- 00:07:37específica pequenininha mas ele não é
- 00:07:39bom para você detalhar uma visão de alto
- 00:07:41nível por exemplo de como funciona uma
- 00:07:43arquitetura como um todo ele não é ideal
- 00:07:46para isso beleza legal então agora
- 00:07:47chegou a hora de irmos lá pro meu
- 00:07:49computador onde eu vou mostrar para você
- 00:07:50os conectores e como funciona esse
- 00:07:52diagrama Bacana Então bora lá legal
- 00:07:55então agora aqui no meu iPad vamos falar
- 00:07:56sobre os conectores e os elementos do
- 00:07:58diagrama de sequência bacana bom o
- 00:08:02diagrama de sequência ele é composto
- 00:08:04fundamentalmente por timelines que são
- 00:08:07esses risquinhos aqui que a gente tá
- 00:08:09vendo tá bom e por elementos como esse
- 00:08:11aqui na ponta do do da nossa timeline Tá
- 00:08:15bom então a gente tem a timeline aqui e
- 00:08:17nós temos aqui na ponta o grande
- 00:08:20elemento que nós temos o o o ator o
- 00:08:23objeto e por aí vai tá bom o primeiro
- 00:08:25elemento é esse aqui que nós estamos
- 00:08:27mostrando que é o o nosso user aqui
- 00:08:31beleza o user aqui ele serve para
- 00:08:33representar o nosso ator do caso de uso
- 00:08:37beleza é alguém que vai fazer algum tipo
- 00:08:39de interação com o nosso sistema esse é
- 00:08:41o nosso eh usuário user aqui ou ator
- 00:08:45Beleza então sempre que tivermos aqui o
- 00:08:47papel a figura do usuário né ou do ator
- 00:08:49lá do caso de uso é assim que a gente
- 00:08:51representa aqui no diagrama de sequência
- 00:08:54beleza Lembrando que sempre precisa ter
- 00:08:56aqui e eh essa linha riscadinha que é a
- 00:08:59timeline ela vai né até onde o usuário
- 00:09:02tiver eh interações ali com o sistema
- 00:09:04até onde tiver comandos desse usuário no
- 00:09:07sistema daqui a pouquinho a gente fala
- 00:09:09como funciona tá essa parte de comandos
- 00:09:11do nosso usuário por hora é importante
- 00:09:13entender que tem a timeline aqui né a a
- 00:09:16linha da vida nossa aqui e a gente tem
- 00:09:18os elementos na ponta o primeiro deles é
- 00:09:20o nosso usuário na sequência nós temos
- 00:09:22aqui a nossa boundary e o que que é a
- 00:09:25boundary a boundary ela é um elemento
- 00:09:27que serve para representar interfaces
- 00:09:30por exemplo tudo bem interação direta
- 00:09:32ali com o nosso usuário é para isso que
- 00:09:35ela serve basicamente é um elemento que
- 00:09:37representa telas ap apis a gente pode
- 00:09:40representar hoje em dia tá E por aí vai
- 00:09:42tudo que tiver eh interface com atores e
- 00:09:46também pode ser ali com outros sistemas
- 00:09:48beleza na sequência nós temos o o
- 00:09:52control tá eh muito utilizado para
- 00:09:54Controller esse carinha aqui ele serve
- 00:09:57para representar a interação dentro de
- 00:09:59um sistema o nosso Core tá a parte
- 00:10:03interior ali De repente de um sistema
- 00:10:05como o elemento anterior era interface
- 00:10:07esse aqui que poderia ser a tela tá
- 00:10:09literalmente esse aqui representa o
- 00:10:11núcleo daquela aplicação o centro aonde
- 00:10:14o vai ser processada a informação ali
- 00:10:17dentro do nosso sistema dentro dele aqui
- 00:10:19nós temos um exemplo de um elemento aqui
- 00:10:22que representa literalmente o o tempo de
- 00:10:26execução dentro do nosso da nossa time
- 00:10:29Line tá e nós temos aqui também a self
- 00:10:32Call essa self Call ela serve aqui para
- 00:10:35representar o nosso uma mensagem que
- 00:10:38acontece dentro dessa timeline uma
- 00:10:40interação entre a a timeline Nossa aqui
- 00:10:43né O que está acontecendo aqui nesse
- 00:10:45espaço de de tempo eh com ele mesmo as
- 00:10:48interações que estão acontecendo aqui
- 00:10:50dentro então lógico isso aqui você vai
- 00:10:51colocar em Alto Nível não é cada linha
- 00:10:53de código que a gente representa mas a
- 00:10:55gente consegue colocar o que é mais
- 00:10:57importante ah faça uma validação eh de
- 00:10:59senha validação do usuário eh validação
- 00:11:03enfim de alguma regra de negócio que
- 00:11:04seja muito relevante tá a gente
- 00:11:06representa assim dentro da nossa própria
- 00:11:09eh timeline tá com uma mensagem que é
- 00:11:12apontando aqui dela para ela mesma né E
- 00:11:15aí a gente tem esse segundo carinha aqui
- 00:11:18que é literalmente né uma segunda
- 00:11:20timeline Zinha ali um segundo obje tenho
- 00:11:23de de de espaço de tempo né em cima do
- 00:11:26outro aqui tá bom bem daí na sequência
- 00:11:30nós temos aqui o elemento entity Para
- 00:11:33que serve esse elemento entity aqui esse
- 00:11:36elemento ele serve para representar o
- 00:11:38que é persistido no banco de dados então
- 00:11:40ele representa ali uma tabela uma
- 00:11:43coleção tá um elemento de dados um
- 00:11:46objeto de dados é isso que esse elemento
- 00:11:48representa tá bom e por fim mas não
- 00:11:50menos importante que é mais utilizado em
- 00:11:52um diagrama de sequência nós temos aqui
- 00:11:54e o nosso elemento Object para que que
- 00:11:58serve esse carinha aí esse carinha que
- 00:11:59ele serve para representar todo e
- 00:12:01qualquer objeto que eu tenha dentro do
- 00:12:03meu sistema é possível também
- 00:12:05representar outras coisas que sejam por
- 00:12:07exemplo eh elementos que eu tenha fora
- 00:12:10do meu sistema diretamente como por
- 00:12:13exemplo uma ferramenta de fila ou uma
- 00:12:15outra ferramenta um outro componente
- 00:12:17arquitetural né que compõe ali o nosso
- 00:12:20desenho e que faça parte dessa sequência
- 00:12:22de de ações que acontec ali para
- 00:12:25resolver um negócio por exemplo tá bom
- 00:12:27Um caso de uso beleza bem então passamos
- 00:12:29aqui pelos nossos elementos Vamos falar
- 00:12:31agora sobre os conectores ar que os
- 00:12:33conectores eles vão servir para fazer a
- 00:12:35interação entre os elementos entre as
- 00:12:38timelines que a gente mostrou tá E
- 00:12:40também deixar claro como essa
- 00:12:42comunicação vai acontecer tá bom se ela
- 00:12:44vai ser síncrona síncrona C retorno
- 00:12:47beleza é para isso que os conectores
- 00:12:49basicamente servem nesse tipo de
- 00:12:51diagrama bem o nosso primeiro conector
- 00:12:53aqui é a mensagem tá e a mensagem ela
- 00:12:58serve literalmente para dizer que
- 00:13:00aconteceu a comunicação entre um
- 00:13:03elemento e outra de forma síncrona
- 00:13:05beleza esse elemento com esse risquinho
- 00:13:08contínuo que está aqui ele indica isso
- 00:13:11tá é esse risquinho com essa setinha
- 00:13:14aqui inteira tá 100% preenchida indica
- 00:13:18isso indica que a gente fez a passagem
- 00:13:20de bastão de um lado pro outro entre um
- 00:13:22elemento e outro isso pode acontecer na
- 00:13:24direção contrária da direita paraa
- 00:13:26esquerda pode tá bom eu posso estar
- 00:13:29tendo a mensagem disparada da esquerda
- 00:13:31pra direita ou da direita pra esquerda
- 00:13:33sem problema nenhum é ida ou volta né de
- 00:13:36requisição Se isso for verdade ok isso
- 00:13:39que é importante que eu tenha a
- 00:13:41requisição efetivamente acontecendo o
- 00:13:43que não é muito típico né normalmente eu
- 00:13:46tenho o elemento da esquerda fazendo a
- 00:13:49requisição pro elemento da direita e
- 00:13:50assim por diante Esse é o é o o fluxo
- 00:13:53natural Mas pode acontecer o que pudesse
- 00:13:56talvez até mesmo representar um problema
- 00:13:58de depend circular essa ida e volta tá
- 00:14:01bom de um elemento chamando diretamente
- 00:14:04o outro normalmente é com outro conector
- 00:14:06que a gente coloca ali essa volta essa
- 00:14:09resposta da mensagem bem mas como eu
- 00:14:11disse é amplamente possível que tenhamos
- 00:14:14esse tipo de de conector ele funcionando
- 00:14:18dessa maneira bom vamos pro segundo
- 00:14:20conector agora nós temos aqui o o nosso
- 00:14:24conector de mensagem assíncrona tá que é
- 00:14:27este aqui no caso Ele é igualzinho o
- 00:14:31nosso elemento anterior só que o que
- 00:14:33muda Aqui nós temos aqui uma pontinha ó
- 00:14:36que é aberta ela não é preenchida tá nós
- 00:14:39temos a pontinha aberta do nosso do
- 00:14:41nosso conector isso indica que é uma
- 00:14:45conexão é uma mensagem assíncrona Ou
- 00:14:48seja que eu não vou ficar esperando ter
- 00:14:50a resposta Então nesse caso a nossa eh
- 00:14:53nosso obje temho ali de time né de
- 00:14:56Lifetime ele ele é reduzido tá eu eu
- 00:14:59demonstro que o tempo meu foi só na
- 00:15:01requisição e eu não tenho que ficar
- 00:15:03esperando ali vir a resposta então eu
- 00:15:05diminuo esse tempo de de espera tá bom o
- 00:15:09tempo de espera nosso ele morre
- 00:15:11praticamente na requisição Ok então é
- 00:15:14para isso que serve esse elemento para
- 00:15:16indicar uma requisição assíncrona chamei
- 00:15:19e deixo para lá né Daqui a pouco eu vou
- 00:15:22lá e vejo se eu tenho uma resposta né ou
- 00:15:25então espero essa resposta acontecer de
- 00:15:27alguma maneira talvez eh através de
- 00:15:29alguma coisa no banco de dados é algo
- 00:15:31que eu não preciso ficar esperando eu
- 00:15:33fiz a requisição e solto a resposta
- 00:15:36depois se deu certo ou não não é algo
- 00:15:38que eu vou me preocupar agora beleza bem
- 00:15:41e aí por fim nós temos aqui o nosso
- 00:15:44objeto o nosso conector de retorno o
- 00:15:48nosso objeto de retorno aqui né o nosso
- 00:15:49conector de retorno ele serve
- 00:15:52literalmente para responder uma
- 00:15:54requisição tá e funciona para síncrono
- 00:15:57ou assíncrono a resposta assíncrona
- 00:15:59também ah estaria Ok faltou falar tá que
- 00:16:03muitas vezes no caso da mensagem
- 00:16:05assíncrona aqui faltou explicar isso
- 00:16:08aqui nós temos essa setinha pela metade
- 00:16:11é comum ver isso também tá a setinha só
- 00:16:13com a parte de cima sem a parte de baixo
- 00:16:15então só com a parte de cima ou seja
- 00:16:18assim né Deixa eu colocar aqui uma
- 00:16:20representação de como ela ficaria mais
- 00:16:21ou menos assim tá bom a a setinha dessa
- 00:16:24forma aqui também representa eh um
- 00:16:27conector assíncrono faltou V falar isso
- 00:16:29aí
- 00:16:30eh e aí no caso do retorno como nós
- 00:16:33estamos falando ele é traçadinho né E
- 00:16:37tem aqui a nossa ponta aberta tá é dos
- 00:16:40dois lados é em cima e embaixo né se
- 00:16:41colocar só em cima eh vai ter ali a
- 00:16:44conotação de que é assíncrono e fica
- 00:16:46incorreto no caso de eh mensagem de
- 00:16:48resposta tá porque a mensagem de
- 00:16:50resposta ela é síncrona e acabou não tem
- 00:16:52como ela ser diferente tá bom então
- 00:16:55esses são os conectores que nós temos
- 00:16:58bem simples e agora chegou a hora de
- 00:17:01falarmos de vermos né E esse Diagrama
- 00:17:05como que ele funciona ele em Ação Bora
- 00:17:07lá bacana Aqui nós temos então um
- 00:17:09diagrama que representa um fluxo de
- 00:17:11login beleza é um fluxo bem simples mas
- 00:17:15vai ficar claro como funciona o nosso
- 00:17:17diagrama de sequência então Observe que
- 00:17:20antes de mais nada nós temos aqui o
- 00:17:22nosso usuário esse aqui é o nosso ator
- 00:17:24tá é a pessoa que vai fazer uso do nosso
- 00:17:27sistema e como nós falamos nós temos
- 00:17:30aqui por baixo né uma timeline tá bom
- 00:17:33que é essa linha
- 00:17:34pontilhados elemento aqui que indica o
- 00:17:37tempo de espera do nosso da nossa
- 00:17:40requisição da mensagem e da sequência
- 00:17:43toda que acontece a partir dela limpando
- 00:17:45essa nossa baguncinha aqui vamos lá
- 00:17:47vamos falar então do que que acontece
- 00:17:50entre o nosso usuário e as partes do
- 00:17:53nosso sistema primeiramente nós temos
- 00:17:55depois do nosso usuário aqui a interface
- 00:17:57de login e Aqui nós temos o que acontece
- 00:18:01entre a nossa interface de login e aí
- 00:18:03nós temos aqui uma comunicação né uma
- 00:18:05mensagem que acontece entre o nosso
- 00:18:08usuário e a nossa interface de login e o
- 00:18:10que que eu tenho aqui dentro Eu estou
- 00:18:12falando né tenho uma mensagem que
- 00:18:14ilustra aqui que o nosso usuário está
- 00:18:17informando o username Né o login dele e
- 00:18:20a senha tá usuário e a senha dele beleza
- 00:18:25bom daí entra a nossa interface aqui de
- 00:18:29de login e a parte central o Core do
- 00:18:32nosso sistema o backend do nosso sistema
- 00:18:34que é o nosso controlador aqui eu tenho
- 00:18:37uma validação de credenciais tá então
- 00:18:39acontece aqui a validação da senha eu
- 00:18:42peço pro meu backend validar usuário e
- 00:18:45ass as credenciais de acesso daí o que
- 00:18:47que acontece na sequência nós temos aqui
- 00:18:49o o processo de validação de verificação
- 00:18:54lá no nosso banco de dados tá E para eu
- 00:18:56representar isso eu uso esse el aqui a
- 00:18:59entidade login né então eu tenho o meu
- 00:19:02controlador indo lá no meu na minha
- 00:19:04entidade login fazer essa validação E
- 00:19:06isso acontece a partir desse processo
- 00:19:09aqui onde nós temos basicamente a a
- 00:19:13requisição de ida né então tenho a
- 00:19:16mensagem fazendo ali a consulta das
- 00:19:19credenciais e a nossa resposta aqui o
- 00:19:21nosso retorno Observe que aqui nós temos
- 00:19:23o elemento de retorno né que é
- 00:19:25traçadinho e Aqui nós temos o elemento a
- 00:19:27mensagem de ida que é a linha contínua
- 00:19:30com a nossa setinha totalmente aqui
- 00:19:32preenchida Tá bom então tem a mensagem
- 00:19:35de ida e o retorno E aí uma outra coisa
- 00:19:38que é importante salientar aqui que nós
- 00:19:39temos aqui esse espaço de tempo esse
- 00:19:42intervalo de tempo bem menor do que os
- 00:19:44outros pode ver aqui né Ele é bem menor
- 00:19:46do que os outros porque literalmente o
- 00:19:48nosso tempo aqui do nosso banco de dados
- 00:19:50tá é o tempo que ele tem aqui de de ir
- 00:19:53ir no banco fazer ali o get das
- 00:19:56informações para fazer a comparação
- 00:19:58desses dados tá então aqui a mensagem é
- 00:20:01consulta credenciais eu vou lá no banco
- 00:20:04e consulto busco usuário e senha
- 00:20:07passando né as credenciais que eu recebi
- 00:20:09do meu usuário ou seja Talvez o meu
- 00:20:12e-mail ali né ou o meu username e a
- 00:20:14senha efetivamente para que que eu vou
- 00:20:16fazer isso para depois validar se a
- 00:20:18senha está correta ou incorreta tá bom
- 00:20:21muitas vezes eu nem passo a senha eu vou
- 00:20:23passar ali somente o meu usuário né a
- 00:20:25senha talvez ela esteja encriptada e e
- 00:20:28eu não vou usar ela como parâmetro aqui
- 00:20:31de busca nem é uma boa prática na
- 00:20:33verdade é que alguns sistemas no passado
- 00:20:35não utilizavam criptografia das
- 00:20:37informações de senha por exemplo era
- 00:20:39comum você salvar a senha totalmente
- 00:20:41descriptografado ali é quem tinha acesso
- 00:20:43ao banco tinha acesso também a a a senha
- 00:20:46de todo mundo mas isso no passado bem
- 00:20:48longe tá tem muito tempo que a gente já
- 00:20:50tem boas práticas de de criptografia bom
- 00:20:53eh falando então do que acontece na
- 00:20:56sequência do nosso retorno aqui após a
- 00:20:59gente retornar do nosso da nossa
- 00:21:01sequência tá voltou aqui do nosso
- 00:21:03retorno eu tenho aqui a validação das
- 00:21:06credenciais tá E essa validação ela
- 00:21:08acontece aqui ó nesse pequeno espaço
- 00:21:10aqui de tempo tá bom é esse pequeno
- 00:21:13espaço aqui que ilustra esse retorno
- 00:21:17essa essa validação do que retornou da
- 00:21:20nossa entidade de dados E observa que
- 00:21:22nós temos eh aqui por exemplo a soma do
- 00:21:26tamanho da requisição anterior que veio
- 00:21:28lá de trás tá com esse tempo aqui ó a
- 00:21:31gente tem ele aqui né E aí nós temos
- 00:21:35mais esse tempo aqui dessa validação e
- 00:21:37por fim nós temos o tempo de retorno
- 00:21:39então essa timeline aqui do controlador
- 00:21:42ela acaba sendo bem grande bem maior do
- 00:21:45que essa aqui da nossa entidade de login
- 00:21:48tá E lembra que eu falei do problema de
- 00:21:51de um diagrama desse aqui precisar você
- 00:21:54subir né para ver a parte de cima ficar
- 00:21:56rolando né se esse aqui fosse um dia uma
- 00:21:58complexo tivesse muitos elementos e eu
- 00:22:00estivesse lá embaixo aqui né e falasse
- 00:22:02assim poxa eu quero saber que elemento é
- 00:22:04esse aqui dessa timeline aqui eu não sei
- 00:22:06eu preciso vir aqui para cima para ver
- 00:22:08vou ter que rolar né E se tivesse num
- 00:22:11diagrama na parede até que não fica tão
- 00:22:13difícil mas se as caixinhas forem muito
- 00:22:15pequenininhas precisa de uma lupa ali
- 00:22:18correr até o topo né para ver ali quem
- 00:22:20Qual é o elemento tá e a lupa É
- 00:22:23brincadeira mas fica realmente difícil
- 00:22:25vai ficando mais complexo a o
- 00:22:27entendimento e a manutenção deixa eu
- 00:22:29limpar essa minha bagunça aqui e vamos
- 00:22:31lá vamos dar continuidade à explicação E
- 00:22:33aí Aqui nós temos o nosso retorno Não é
- 00:22:36esse retorno ele volta aqui pra nossa
- 00:22:38interface de login beleza que é essa
- 00:22:41timeline aqui e daqui a gente tem mais
- 00:22:43um retorno que veio aqui pro nosso
- 00:22:46usuário perceba que novamente né como a
- 00:22:49gente estava falando nós temos aqui um o
- 00:22:52maior tempo de todos do nosso usuário tá
- 00:22:55a timeline do nosso usuário Olha o
- 00:22:57tamanho dela aqui
- 00:22:59em comparação com essa aqui né que é a
- 00:23:01Menorzinha é a conexão lá com o nosso
- 00:23:03banco de dados tá então vou tendo essa
- 00:23:05timeline Ela Vai somando né aqui eu
- 00:23:08tenho a somatória de todas as
- 00:23:09requisições que aconteceram aqui de
- 00:23:11todas né Aí eu tenho mais o tempo de
- 00:23:13resposta mais a validação mais essa
- 00:23:16resposta mais essa fica todo esse
- 00:23:18carinho aqui ele fica grande né então
- 00:23:20ilustra todo o meu tempo de ida e volto
- 00:23:22é o tempo computacional não
- 00:23:24necessariamente o tempo isso aqui não
- 00:23:26representa segundos né mas enta o tempo
- 00:23:29computacional então tem toda a latência
- 00:23:31aqui dá para ter uma visão de que é onde
- 00:23:34eu tenho maior espera se vai ser grande
- 00:23:36ou pequena né pro nosso usuário talvez
- 00:23:38sejam milésimos de segundo isso aqui mas
- 00:23:41computacionalmente falando é onde eu
- 00:23:43tenho mais esforço Bacana Então deu pra
- 00:23:45gente ver aqui um diagrama de sequência
- 00:23:49né com todo o processo aqui falando de
- 00:23:52todas as camadas a gente falou aqui do
- 00:23:54nosso usuário falamos da nossa interface
- 00:23:56de login do nosso cont trolador do
- 00:23:58backend né que é o front aqui é o back e
- 00:24:00a nossa camada de dados Era bem comum
- 00:24:03representar sistemas assim antigamente e
- 00:24:05até mesmo na época que se adotou a
- 00:24:08arquitetura mvc né que não era só para
- 00:24:10frontend antigamente o mvc era completo
- 00:24:12néha viu sendo a camada de frontend
- 00:24:15Windows forms por exemplo né um o forms
- 00:24:18o formulário Ali era a nossa View né a
- 00:24:21Controller era a parte de backend de
- 00:24:24dentro de um sistema que era ali
- 00:24:26basicamente eh client server né e a
- 00:24:28gente tinha a camada de dados que também
- 00:24:30ficava dentro dela e fazer comunicação
- 00:24:33diretamente ali com o banco de dados bem
- 00:24:35e como é que fica uma visão como essa
- 00:24:37nos dias atuais eu falo para você que
- 00:24:40hoje no em um mundo onde nós temos
- 00:24:42microsserviços e uma visão mais
- 00:24:44assíncrona o que que acaba acontecendo
- 00:24:46nós temos aqui o nosso usuário aí ao
- 00:24:49invés de utilizar aqu aqueles elementos
- 00:24:52né de de boundary de Controller e etc
- 00:24:56aqui eu estou um pouquinho mais alto
- 00:24:57nível representando por exemplo o meu
- 00:25:00App Mobile né que eu tenho aqui o Arc
- 00:25:02app aí eu tenho aqui um BFF de login e
- 00:25:06aí aqui eu tenho um idp tenho um koke
- 00:25:08por exemplo tá que é o nosso identity
- 00:25:10provider que vai fazer a autenticação
- 00:25:12então não tenho mais aqui o meu banco de
- 00:25:15dados a interação com o meu banco de
- 00:25:16dados fazendo a consulta ali para fazer
- 00:25:18a validação de usuário e senha isso
- 00:25:20acontece pelo meu kloke tá bom vamos lá
- 00:25:22vamos detalhar aqui como que acontece e
- 00:25:25esse fluxo antes de mais nada perceba
- 00:25:27que aqui nós temos temos uma timeline
- 00:25:29menor Por que que essa timeline é menor
- 00:25:31porque essa requisição aqui ela é
- 00:25:34assíncrona percebe que ela é aberta aqui
- 00:25:36na ponta ó essa pontinha aqui ela é
- 00:25:38aberta tá então ela é assíncrona daí na
- 00:25:42sequência nós temos aqui uma outra
- 00:25:44requisição que é também assíncrona
- 00:25:46percebe aqui né que é é essa setinha
- 00:25:50também é aberta né que é a validação de
- 00:25:53credenciais aí na sequência nós temos
- 00:25:56aqui a através do nosso BFF ele faz a
- 00:25:59consulta de credenciais E aí aqui ó é
- 00:26:02síncrono beleza não é síncrona a setinha
- 00:26:05tá completa aqui eh e depois disso eu
- 00:26:08espero a resposta Ó veio a resposta do
- 00:26:10nosso kloke a a resposta como sempre é
- 00:26:14uma linhazinha traçada né e a pontinha
- 00:26:16dela aqui aberta como a gente falou
- 00:26:19então aqui eu tenho a soma né do da
- 00:26:21timeline deixa eu mudar a cor desse
- 00:26:22carinha para ficar um pouquinho mais
- 00:26:24fácil de ficar ficar mais visível aqui a
- 00:26:27nossa timeline né a timeline ficou maior
- 00:26:30né E aí aqui eu tenho uma segunda parte
- 00:26:32do nosso timeline que é aqui a validação
- 00:26:35das da credencial né das credenciais
- 00:26:37aqui do usuário e senha tá eh essa
- 00:26:40validação na verdade ela poderia
- 00:26:42acontecer aqui no no nosso k clo tá o
- 00:26:44ideal seria ela acontecer aqui tá e não
- 00:26:48aqui nesse desenho nessa ilustração e
- 00:26:50Embora esteja tudo bem Tá talvez eu
- 00:26:52tenha aqui ah algum tipo de dispositivo
- 00:26:55para fazer essa validação o ideal é que
- 00:26:57acontecesse aqui no do que clo e ele
- 00:26:59fosse maior tá bom daí nós temos aqui o
- 00:27:01nosso retorno né que é a devolutiva aqui
- 00:27:04pro meu usuário percebe que aqui de novo
- 00:27:08né eu tenho
- 00:27:09eh essa resposta aqui acontecendo em em
- 00:27:12um espaço de tempo pequenininho que é só
- 00:27:14o tempo de resposta mesmo a volta aqui
- 00:27:16pro nosso usuário e tudo aconteceu de
- 00:27:18uma maneira assíncrona então não fiquei
- 00:27:21segurando o meu usuário solto o meu
- 00:27:22usuário para fazer outras coisas é
- 00:27:25lógico que no login eu vou precisar
- 00:27:27esperar para poder entrar no sistema mas
- 00:27:29uma outra coisa é muito comum que esse
- 00:27:32tipo de processo né processamento
- 00:27:34assíncrono eh faça sentido tá paraas
- 00:27:37aplicações atuais paraas aplicações
- 00:27:39modernas onde a gente tem bffs apis
- 00:27:43microsserviços tudo acontecendo de forma
- 00:27:45assíncrona então ar Deu para perceber
- 00:27:47que um Diagrama como esse pode ser
- 00:27:49aplicado nos dias atuais também para uma
- 00:27:52aplicação que seja microcomponente zada
- 00:27:55né orientada a microsserviços com bffs
- 00:27:57Apis virtualiza micro databases é
- 00:28:00possível representar em um diagrama de
- 00:28:02sequência e você ar conhecia esse
- 00:28:04diagrama já tinha utilizado conta aqui
- 00:28:07nos comentários porque eu quero saber e
- 00:28:09ar você que é top PR caramba se você
- 00:28:11gostou desse conteúdo não esquece de
- 00:28:13deixar um like pra gente porque isso
- 00:28:15ajuda o nosso conteúdo a chegar para
- 00:28:16mais pessoas e assim como você quer se
- 00:28:19tornar um profissional diferenciado no
- 00:28:21mercado um ar Expert Bacana Então eu vou
- 00:28:24ficando por aqui ar um super abraço e
- 00:28:26até a próxima m
- Diagrama de Sequência
- UML
- Modelagem de Sistemas
- Microserviços
- Interação
- Clareza Visual
- Sistemas
- Documentação
- Desenho de Software
- Arquitetura de TI