Baixe o app para aproveitar ainda mais
Prévia do material em texto
18/05/2021 O que é UML - o que é, para que serve, quando usar, e muito mais! https://www.ateomomento.com.br/diagramas-uml/ 1/10 Home Design de Software O que é UML (Uni�ed Modeling Language) UML (Uni�ed Modeling Language) é uma linguagem poderosa para comunicação em equipes de produção de software By Plínio Ventura On 31 jan, 2019 Last updated 7 fev, 2021 2 Compartilhe! Basicamente, UML (Uni�ed Modeling Language) é uma linguagem de notação (um jeito de escrever, ilustrar, comunicar) para uso em projetos de sistemas. Esta linguagem é expressa através de diagramas. Cada diagrama é composto por elementos (formas grá�cas usadas para os desenhos) que possuem relação entre si. Os diagramas da UML se dividem em dois grandes grupos: diagramas estruturais e diagramas comportamentais. Diagramas estruturais devem ser utilizados para especi�car detalhes da estrutura do sistema (parte estática), por exemplo: classes, métodos, interfaces, namespaces, serviços, como componentes devem ser instalados, como deve ser a arquitetura do sistema etc. Diagramas comportamentais devem ser utilizados para especi�car detalhes do comportamento do sistema (parte dinâmica), por exemplo: como as funcionalidades devem funcionar, como um processo de negócio deve ser tratado pelo sistema, como componentes estruturais trocam mensagens e Facebook Twitter Google+ Pinterest METODOLOGIA MODELAGEM DE SOFTW… PRODUTIVIDADE PROJETO PROJETO DE SOFTWARE UML https://www.ateomomento.com.br/ https://www.ateomomento.com.br/category/design-de-software/ https://www.ateomomento.com.br/author/plinio-ventura/ https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.ateomomento.com.br%2Fdiagramas-uml%2F&t=O%20que%20%C3%A9%20UML%20%28Unified%20Modeling%20Language%29 https://twitter.com/intent/tweet?text=O%20que%20%C3%A9%20UML%20%28Unified%20Modeling%20Language%29&url=https%3A%2F%2Fwww.ateomomento.com.br%2Fdiagramas-uml%2F https://www.ateomomento.com.br/diagramas-uml/ https://www.ateomomento.com.br/tag/metodologia/ https://www.ateomomento.com.br/tag/modelagem-de-software/ https://www.ateomomento.com.br/tag/produtividade/ https://www.ateomomento.com.br/tag/projeto/ https://www.ateomomento.com.br/tag/projeto-de-software/ https://www.ateomomento.com.br/tag/uml/ https://www.ateomomento.com.br/ 18/05/2021 O que é UML - o que é, para que serve, quando usar, e muito mais! https://www.ateomomento.com.br/diagramas-uml/ 2/10 como respondem às chamadas etc. UML deixa as coisas claras UML ajuda muito a deixar o escopo claro, pois centraliza numa única visão (o diagrama) um determinado conceito, utilizando uma linguagem que todos os envolvidos no projeto podem facilmente entender. Mas ajuda desde que utilizada na medida certa, ou seja, apenas quando realmente é necessário. O maior problema na produção de software, a maior dor, em qualquer país do mundo, chama-se comunicação ruim. Vejamos um rápido exemplo didático de como se dá a comunicação em equipes de produção de software: Incrivelmente, muitos pro�ssionais seniores de software ainda ignoram isso. Veremos mais sobre isso à frente. /* João quer A, explica à equipe algo “parecido” com B. Marcos entende que João quer C, e explica para Claudia que é para fazer D. Claudia faz um “D que mais se parece um E”, e entrega um “meio E” para João. E João queria um A… */ 18/05/2021 O que é UML - o que é, para que serve, quando usar, e muito mais! https://www.ateomomento.com.br/diagramas-uml/ 3/10 A UML é como uma linguagem universal para pro�ssionais de produção de software, é um “Google Translate” que ajuda muito a comunicação clara e objetiva entre pessoas envolvidas no processo de produção (Analistas de Negócio, Product Onwer, Scrum Master, Arquitetos, Desenvolvedores, Gerentes de Projeto/Produto e demais partes interessadas). Penso que, no mínimo, 50% do trabalho de construir sistemas é comunicação. Os outros 50% do trabalho trata-se da materialização daquilo que é combinado/alinhado entre as partes envolvidas no processo. 18/05/2021 O que é UML - o que é, para que serve, quando usar, e muito mais! https://www.ateomomento.com.br/diagramas-uml/ 4/10 Caso você não ainda não tenha tido contato com a UML, seguem alguns diagramas para melhorar o contexto do post. Diagrama de Atividades /* Alguns pro�ssionais de diferentes níveis de senioridade consideram que utilizar UML em equipes de software é perder tempo. Isso se dá por alguns poucos motivos, dentre eles: 1) estes pro�ssionais confundem usar UML para comunicação com usar UML para documentação, 2) estes pro�ssionais são seniores que já estão cheio de vícios e preconceitos e não revisam seus pontos de vista sobre as coisas, 3) estes pro�ssionais são jovens que chegaram no mercado na onda “agilista” e com pouco senso crítico compram ideias de terceiros, independente dos fundamentos. Todavia, a diversidade de opinião é saudável e bem aceita, graças a Deus! */ 18/05/2021 O que é UML - o que é, para que serve, quando usar, e muito mais! https://www.ateomomento.com.br/diagramas-uml/ 5/10 Diagrama de Classes Diagrama de Sequência Diagrama de Instalação 18/05/2021 O que é UML - o que é, para que serve, quando usar, e muito mais! https://www.ateomomento.com.br/diagramas-uml/ 6/10 Princípio de Pareto – 80/20 no uso da UML O princípio de Pareto nos mostra (dentre outras coisas) que 20% das ações que realizamos são responsáveis por 80% dos nossos resultados. E realmente é algo que se aplica. No contexto do uso de UML na produção de software também se aplica: 20% dos recursos da UML atendem em 80% dos cenários que precisamos especi�car. Dos 21 diagramas disponíveis na versão atual da UML (versão 2.5.1) 6 diagramas atendem 80% do que precisamos, e para cada um dos seis, 20% dos recursos que cada diagrama oferece resolvem 80% do que precisamos fazer. Ou seja, apenas o necessário, sem desperdício. https://pt.wikipedia.org/wiki/Princ%C3%ADpio_de_Pareto 18/05/2021 O que é UML - o que é, para que serve, quando usar, e muito mais! https://www.ateomomento.com.br/diagramas-uml/ 7/10 Entretanto, principalmente na década passada, a tendência era usar UML para documentar 100% das funcionalidades, utilizando 100% dos diagramas, e 100% dos recursos de cada diagrama, e ainda manter este documentação 100% atualizada. Na Engenharia Civil isso é possível, na Engenharia de Software, é missão impossível. Isso em função do Cone da Incerteza. O mesmo se aplica a orientação a objetos, a qualquer linguagem de programação (moderna ou não), a modelagem de dados, a de�nições arquiteturais, micro serviços, testes unitários etc. 20% resolve 80%. O foco deve ser em não ter desperdício. Foco na e�ciência, na produtividade. Para que serve? O objetivo de um diagrama da UML é passar uma mensagem de maneira padronizada, onde todos os receptores deste mensagem entendem o padrão usado. É o famoso: “entendeu ou quer que desenha?” https://www.ateomomento.com.br/o-problema-da-descoberta-do-escopo-o-cone-da-incerteza/ 18/05/2021 O que é UML - o que é, para que serve, quando usar, e muito mais! https://www.ateomomento.com.br/diagramas-uml/ 8/10 Imagine que numa mesma sala, sem internet e telefone, estão três pessoas que só falam seu idioma nativo: um chinês, um francês, e um brasileiro. Nesta sala tem apenas papel e lápis. O francês quer um café. Qual será a maneira mais e�ciente, considerando os recursos disponíveis na sala, para o francês passar a mensagem “quero um café”? Talvez fazendo um desenho de uma xícara de café! Deixar isso claro, de maneira simples, objetiva, transparente e pragmática, é comunicar-se bem. Levando o raciocínio acima para projetos de software, a UML deve ser utilizada para comunicar o que se quer e/ou como se quer, de maneira e�ciente. No passado utilizou-se UML muito para documentar software existente, fazer projeto preditivo de sistema (ou seja, via diagrama documentar 100% do que deveria ser feito) etc. Isso quase nunca é viável. A UML serve para uma boa comunicação em equipes que produzemsoftware, onde através do uso de diagramas adotamos uma linguagem que todos entendem, para deixar claro o que deve ser feito. Quando usar? O uso de diagramas da UML deve ser feito quando: É necessário especi�car o desejo do cliente que será materializado no software. Quando membros de uma equipe precisam ter uma visão única e padronizada sobre algo, seja no contexto de escopo funcional (requisitos, estórias de usuário ou modelos de processo) e não funcional (foco na arquitetura/estrutura do sistema e integrações) Comunicar para o mundo externo protocolos (contratos) de interfaces do sistema que devem ser consumidas por terceiros ou ilustrar topologias arquiteturas físicas/lógicas. 18/05/2021 O que é UML - o que é, para que serve, quando usar, e muito mais! https://www.ateomomento.com.br/diagramas-uml/ 9/10 Exemplos de Uso Abaixo temos alguns posts aqui do blog, com exemplos bem detalhados do uso de alguns dos principais diagramas da UML: Diagrama de Atividades Diagrama de Caso de Uso Diagrama de Classes Diagrama de Sequência Diagrama de Instalação Concluindo UML é uma linguagem espetacular. É como um idioma de simples compreensão, que auxilia equipes de produção de software a ter maior e�ciência e e�cácia no dia a dia, possibilitando uma comunicação clara e objetiva sobre o que deve ser feito, e como deve ser feito. Essa clareza possibilitada na comunicação pelo uso da UML diminui diretamente o desperdício tão comum na produção de software, desperdício este gerado pelo entendimento “torto” das coisas, e descoberta tardia deste desalinhamento. Mas, como tudo na vida, tem que ser usada na justa medida: o equilíbrio. Em tempos de agilidade, de lean aplicado na produção de software, o princípio da parcimônia deve ser premissa no mindset dos analistas de sistemas. Participe nos comentários! Abraço! Related Posts via Categories Entendendo o Diagrama de Instalação da UML Entendendo o Diagrama de Sequência da UML Entendendo o Diagrama de Classes da UML Caso de Uso ou Estória de Usuário? https://www.ateomomento.com.br/uml-diagrama-de-atividades/ https://www.ateomomento.com.br/o-que-e-caso-de-uso/ https://www.ateomomento.com.br/uml-diagrama-de-classes/ https://www.ateomomento.com.br/diagrama-de-sequencia-uml/ https://www.ateomomento.com.br/uml-diagrama-de-instalacao/ https://www.ateomomento.com.br/uml-diagrama-de-instalacao/ https://www.ateomomento.com.br/diagrama-de-sequencia-uml/ https://www.ateomomento.com.br/uml-diagrama-de-classes/ https://www.ateomomento.com.br/caso-de-uso-ou-estoria-de-usuario/ 18/05/2021 O que é UML - o que é, para que serve, quando usar, e muito mais! https://www.ateomomento.com.br/diagramas-uml/ 10/10 Metodologia modelagem de software Produtividade Projeto projeto de software UML Analista de Infraestrutura e Requisito Não Funcional FAQ04 – Perguntas e Respostas sobre Engenharia de Software FAQ03 – Perguntas e Respostas sobre Engenharia de Software O que é Requisito Inverso FAQ02 – Perguntas e Respostas sobre Engenharia de Software FAQ01 – Perguntas e Respostas sobre Engenharia de Software ALSO ON ATÉ O MOMENTO 3 years ago 6 comments Na modelagem comportamental de um software, qual a melhor … CasoCaso de de Uso Uso ou ou EstóriaEstória de de Usuário? Usuário? … … • 4 years ago 5 comments Veja este post épico sobre o que é o Scrum, em detalhes. É a solução … O que é Scrum?O que é Scrum? • 3 years ago 6 comments Backlog é uma lista de tarefas? É um balde de coisas a fazer? Um … OO que que é é Backlog? Backlog? EntendendoEntendendo o o … … • 4 years ag Requisito que não d escopo d O que éO que é InversoInverso 8 Comments Até o Momento 🔒 Disqus' Privacy Policy Login1 t Tweet f Share Sort by Best LOG IN WITH OR SIGN UP WITH DISQUS Name Join the discussion… ? Bruno Lima • a year ago • Reply • Excelente artigo! Só uma pequena correção, a versão atual do UML é a "2.5.1" e não "5.2.1" (acredito que foi um erro de digitação). =) △ ▽ Plínio Ventura • a year agoMod > Bruno Lima Recommend 3 Share › © 2021 - Até o Momento. All Rights Reserved. Website Design: BetterStudio https://www.ateomomento.com.br/tag/metodologia/ https://www.ateomomento.com.br/tag/modelagem-de-software/ https://www.ateomomento.com.br/tag/produtividade/ https://www.ateomomento.com.br/tag/projeto/ https://www.ateomomento.com.br/tag/projeto-de-software/ https://www.ateomomento.com.br/tag/uml/ https://www.ateomomento.com.br/analista-de-infraestrutura-e-requisito-nao-funcional/ https://www.ateomomento.com.br/faq04-perguntas-e-respostas-sobre-engenharia-de-software/ https://www.ateomomento.com.br/faq03-perguntas-e-respostas-sobre-engenharia-de-software/ https://www.ateomomento.com.br/o-que-e-requisito-inverso/ https://www.ateomomento.com.br/faq02-perguntas-e-respostas-sobre-engenharia-de-software/ https://www.ateomomento.com.br/faq01-perguntas-e-respostas-sobre-engenharia-de-software/ https://disqus.com/home/forums/atomomento/ https://help.disqus.com/customer/portal/articles/466259-privacy-policy https://disqus.com/home/inbox/ https://disqus.com/by/brunocesarlima/ https://www.ateomomento.com.br/diagramas-uml/#comment-4887156603 https://disqus.com/by/plnioventura/ https://www.ateomomento.com.br/diagramas-uml/#comment-4910733371 https://www.ateomomento.com.br/diagramas-uml/#comment-4887156603 https://disqus.com/by/brunocesarlima/ https://disqus.com/by/plnioventura/ https://themeforest.net/item/publisher-magazine-blog-newspaper-and-review-wordpress-theme/15801051?ref=Better-Studio
Compartilhar