e depois nós vamos falar um pouquinho sobre diagrama de arquitetura e [Música] E aí E aí galera beleza Vocês sabem que com o movimento do desenvolvimento ágil o pêndulo em que diz respeito a documentação e software ele acabou indo único para um outro extremo é onde seu desenvolvimento ágil o pessoal achava que em prazos vou ver Soccer não tinha que primeiro planejar tudo projetado para depois ir para o código então havia toda aquela ideia de utilizar por exemplo ao IML para fazer toda análise de requisitos e depois fazer o projeto do Toca né utilizando todos
aqueles diagrama de classe colaboração é cera e quando isso tudo tivesse bem Pronto bem encaminhado aí sim a gente ia para o código para tentar encaixar né as funcionalidades em todo aquele plano todo aquele projeto isso é chamado de bíblica para um design é um projeto grande feito diante mão os movimento hajam né foi um movimento completamente contrário a essa ideia você planejar tudo para depois codificar Porque de fato isso não funciona certo porque o quê e os requisitos né do sistema eles tendem a mudar muito De que adianta você fazer um projeto totalmente fechadinho
é todo completo para depois codificar se Quando você começar a codificar ou se você fizer tudo implementar tudo testar aí depois entregar para o cliente ele falar olha é exatamente isso que eu quero eu quero outra coisa então de fato desenvolvimento ágil trouxe essa ideia desenvolvimento incremental na qual você realmente vai um governo parte do sistema e já vai entregando o cliente já vai vendo que já vai modificando a medida em que você vai desenvolvendo tanto de fato não é uns valores que aparecem lá no Manifesto ágil é que a gente valoriza mais só ter
funcionando do que documentação completa né concorrência documentation work in software over comprehensive documentation Mas de fato o pessoal não tava falando que documentação e projeto e diagramas e é uma coisa completamente inútil a gente nunca vai fazer nada disso não é isso A ideia é que a gente valoriza mais só funcionando do que a documentação completa então o pêndulo acabou indo muito para o outro lado e para as pessoas hoje em dia elas têm hoje Elisa né desse tipo de projeto né de diagrama o ML e tal e fugimos completamente dessa ideia de você planejar
um pouco fazer um pouco de modelagem e de diagramas antes de começar a programar e parece que o Pedro foi realmente muito outro lado né Eu sempre falo aqui com de fato eu acho que essa ideia de microfone design você realmente modelar tudo para depois e se o código não funciona muito bem é melhor Realmente você já começar aí desenvolvendo aí para o código mas não vejo problema nenhum você apresentou Fazer um rascunho certo do seu projeto de suas quatro exemplo da sua camada de domínio né você pensar antes fazer um DH minha lá de
classe para depois começar a implementar vejo problema nenhum nisso fato próprio incomode né compramos umas vídeo aulas dele lá em um dos cursos que ele faz é tu tens o Twitter né implemento Twitter utilizando o te de detroid é o tdd clássico enquanto o Sandro Mancuso desenvolve a mesma aplicação usando o DDD de Londres é o outside and tdd E aí você vê lá que o uncle Bob né ele delineia primeiros casos de uso e depois ele faz né um skate um rascunho do modelo de entidade e depois vai implementar Então também não vejo problema
nenhum fazer isso mas o fato é que a gente ficou com um pouco de ojeriza de fazer documentação né de usar esses diagramas Mas não tem problema nenhum a gente ter uma documentação lightweight pelo sistema documentação leve e um lugar que eu acho que cabe muito documentação é a gente pelo menos ter é uma ideia geral da nossa arquitetura eu tava vendo uma apresentação muito boa nos Saimon grau Então sai umbral é um desenvolvedor que tem inclusive os capítulos lá da clínica estética foi escrito por n e essa apresentação muito legal que ele é sobre
isso de modelagem né de diagramas para arquitetura Ele propôs é um tipo de modelagem que ele chamou de se for Model 24 é a pessoa comente vai olhar esses diagramas de arquitetura Cada um faz um jeito né Sempre tem lá as caixinhas com as minhas né ligando uma coisa e outro mais cada um usa uma semântica diferente eu achei bem legal esse modelo porque ele é bem simples ele tem uma semântica simples e ele ajuda você a padronizar esse tipo de documento de arquitetura com essa aqui é a apresentação no Sion ele fala bastante né
sobre essa questão de diagramas de arquitetura e aí ele estabelece um modelo bem legal que a gente pode utilizar o padrão para desenhar nossos diagramas de arquitetura Então as ideias né do se for Model elas encontram-se disponíveis nesse site se formando pontocom eu queria explicar aqui para vocês como é que funciona né de maneira geral esses diagramas tá então esse se o quanto é que se contêiners components in cold é como se fosse em quatro níveis né de diagramas esse aqui é muito legal pessoal já tinha pensado nisso né quando eu penso em te tura
eu peço realmente com um áudio que a gente faz já falei né já usei esse termo aqui para escrever arquitetura própria consideres um áudio para você ver os componentes maiores e de fato esse tipo de diagrama que eu penso como um áudio aparece aqui não se forma logo então esses quatro níveis correspondem ao contexto que tem um contexto seria o contexto geral do seu sistema Quais sistemas o seu sistema conversa e tipo de usuário utiliza o seu sistema Então esse aqui é um exemplo você tem lá um sistema de banco certo a Internet Banking sexta
é aquele tá falando que é o sistema de software tá esse aqui é um modelo de contexto aí aqui você tem o costume né que é um personal Banking costume né a pessoa que vai utilizar o seu sistema a chinesa o sistema esse sistema pode enviar e-mail E para isso vai utilizar o sistema de e-mails e ele também se comunica com um sistema nem frente né antigo por sz do banco tá então a semente Ainda bem que vocês então esse diagrama de contexto né ele dá uma visão mais geral no seu sistema Quais são as
partes né e aqui a gente vê né Com quem que o nosso sistema conversa sabe quem são os usuários do sistema aí dando um a mais a gente entra nos containers aí então aqui não é para confundir com container de Blocker a esculpem aqui é um sistema de só como certo então aqui por exemplo aquele Internet Banking System a gente pode dar um zoom para a gente ver o que compõem esse sistema então é o que aparece aqui né dentro dessas linhas aqui tracejados aqui é o nosso Internet Banking System tá vendo que eram só
uma caixa o nosso diagrama de contexto aqui já é uma coisa que você deu um para entender o que tem lá dentro e aqui ele mostra por exemplo que o Internet Banking System ele é formado certo por um web application né que é um container aqui então tá vendo é uma aplicação esse container é uma aplicação perna por exemplo será um ponto jar uma coisa que tá rodando mesmo e que contém componentes lá dentro então esse container por exemplo ele é a web application certo do seu Internet Banking System e aqui essa web application ela
entrega o serviço da aplicação para o cliente envia por exemplo uma single page application carta que é o seu front-end entanto tem um front-end web e uma aplicação mobile então aqui fica bem claro né que essa aplicação ela é entregue via uma página Web uma aplicação é e também uma aplicação no bairro Então tudo isso faz parte né do Internet Banking system que é um software System mais e com tênis e aí você tem uma Pinha aqui que também é um container certo Então essa é a p i do B King e esse daqui vende
por exemplo conversa com um sistema de banco de dados então fica bem legal para a gente entender né aplicação como um todo também quais são os sistemas que compõem né Sistema maior dos óculos Então esse é o modelo de container é o segundo nível de zoom E aí dando um uma mais aí sim a gente vai entrar no diagrama que eu entendo como sendo diagrama de Arquitetura do sistema será caíssem a gente tem os componentes que a gente pode por exemplo que as camadas ali certo quase camadas o nosso sistema tem e aqui por exemplo
e deu um né Na pe certo aqui na parte do Beck and na aplicação de cliente é esse aqui é o diagrama de componente tá vendo Então essa aqui é a p incerta que tem os controladores por exemplo que aquela fez tem O componente então aqui você tem um e-mail um componente de e-mail vai enviar e-mail para usuário esse componente se comunica com aquele sistema de e-mail já aparecia lá no diagrama de contexto e também é que tem o Banco por exemplo né esse componente de segurança conversando com o banco e aqui você pode dizer
também qual tecnologia está implementado cada um desses componentes é o que realmente é o diagrama que eu entendo como sendo o diagrama da sua arquitetura da arquitetura do sistema e mostra os componentes E aí 14 minutos aí seria realmente o design né das classes aí aqui o próprio Simon fala que ele não recomendo a gente fazer esse diagramas porque esse diagrama a gente consegue realmente gerar eles automaticamente a partir do código e é como eu disse né você pode fazer um sketch um rascunho né deixando as classes do componente que você está desenvolvendo e depois
desenvolver e aí assim esse diagrama não serve para muita coisa porque em geral você não vai ficar atualizando e ao passo que esses diagramas de mais alto nível ele sim fazem sentido de você manter né e ajuda para comunicar as pessoas por exemplo que entram na empresa o mesmo entre todas as equipes né de como é formado o sistema ela que são os quatro meses né que ser um sistema de software serve o container da então aqui o contexto né o container O componente e o Cold o pode ser e o quarto nível aqui e
de maneira geral a gente não precisa se preocupar muito vou fazer esses diagramas croche realmente Espetacular né e sim essa lotação para gente utilizar como o padrão para fazer os nossos diagramas né das nossas arquiteturas e existem outros modelos outros diagramas complementares e os ai não coloca lá dentro dessa abordagem é do cifor um deles que eu acho Espetacular e muito interessante nos dias de hoje é o diagrama de depoimentos que você realmente me mostra aonde os componentes estão Ronan e o sistema então por exemplo se você utilizar Amazon na WS você utiliza a erguer
você consegue mostrar nesse diagrama de depoimentos Onde está rodando cada coisa então esse aqui é um exemplo de diagrama a vida é põe né aqui por exemplo você pode perceber que a aplicação tá rodando na WS ontem tem um depoimento ensinou tá vendo Eos kiss One e aqui você tem os vários serviços que você tem na WS por exemplo que tem um golpe Cream in Future World e ele faz o Ford nos request http para esse elástico nobrecer né que a parte lá da hws também que a única se tornou e esse Electric logo dela
círculos uma vez faz o Ford do Oeste para a sua aplicação web em si que tá rodando dentro do ec2 bom então aqui fica bem claro né como é que você tá fazendo a configuração né do seu depoimento utilizando os serviços por exemplo da Amazon o relógio o reloco assim por diante e se realmente muito legal essa maneira de você usar diagramas para mostrar o seu sistema e Mais legal ainda pessoal aqui todos esses diagramas na verdade você pode escrever um modelo completo certo que claro você não precisa entrar em muitos detalhes mas é legal
você ter todos os nossos por exemplo que você tem na sua aplicação de toalha sua aplicação E aí você pode ter aquele o contexto e depois dos sistemas de software e ele você pode escrever um modelo só em gerar todos esses diagramas automaticamente com algumas ferramentas que lá naquele site ele coloca lá que você pode utilizar então por exemplo aquele diagrama que tava mostrando para você ele foi gerado a partir de um modelo certo então esse modelo tá desse jeito aqui nessa linguagem de domínio aqui específico né também específico lembra-te que ele criou para você
gerar esses modelos se você já é automaticamente os diagramas tá então aqui dentro tem os diagramas de depoimentos está vendo de poemas igualmente aqui Você faz toda a especificação de como foi o seu depoimento embargar é que ele tenha os outros as outras partes do modelo né Então aqui tem o sistema de software container então aqui por exemplo eu tô vendo o diagrama de de põe Mas eu posso ver também o diagrama de container aquele tá gerando diagrama também para criar web application conversando o o banco de dados e aqui você pode ver também os
sempre contentes Então tem um sistema de contas é o contêiner um tanto que o segundo sei lá e aqui também tem o depoimento eu achei Espetacular mesmo esse modelo aí essa maneira que você modelar é bem laithwaite não é uma coisa muito rebuscada não sou criticada mas eu menti estabelece um padrão semântico que você pode utilizar para desenhar os seus diagramas serve seja útil para você eu vou utilizar aqui quando for devolver os meus projetos por exemplo na plataforma de cursos a mente ele te entender o que que tá acontecendo então gostei muito desse diagrama
de depoimento e também aquele que mostra a arquitetura é o diagrama de componente Eu espero que seja útil para você também fique com Deus e até o próximo vídeo um